home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / misc / pdflib / configure.in < prev    next >
Text File  |  1999-12-06  |  21KB  |  738 lines

  1. dnl Configure.in script for PDFlib.
  2. dnl Process this file with autoconf to produce a configure script.
  3.  
  4. dnl source directory sanity check using an arbitrary source file
  5. AC_INIT(pdflib/p_basic.c)
  6.  
  7. VERSION="2.01"
  8.  
  9. WITH_CXX=nope
  10. WITH_JAVA=nope
  11. WITH_PERL=nope
  12. WITH_PYTHON=nope
  13. WITH_TCL=nope
  14.  
  15. dnl install-sh will be searched (and found) here
  16. AC_CONFIG_AUX_DIR(util)
  17.  
  18. # Set name for machine-dependent library files
  19. AC_SUBST(MACHDEP)
  20. AC_MSG_CHECKING(MACHDEP)
  21. if test -z "$MACHDEP"
  22. then
  23.     if test -f /usr/lib/NextStep/software_version; then
  24.         set X `hostinfo | grep 'NeXT Mach.*:' | \
  25.             sed -e 's/://' -e 's/\./_/'` && \
  26.         ac_sys_system=next && ac_sys_release=$4
  27.         MACHDEP="$ac_sys_system$ac_sys_release$ac_sys_cpu"
  28.     else
  29.         ac_sys_system=`uname -s`
  30.         if test "$ac_sys_system" = "AIX" ; then
  31.             ac_sys_release=`uname -v`
  32.         else
  33.             ac_sys_release=`uname -r`
  34.         fi
  35.         ac_md_system=`echo $ac_sys_system |
  36.                    tr -d '[/ ]' | tr '[[A-Z]]' '[[a-z]]'`
  37.         ac_md_release=`echo $ac_sys_release |
  38.                    tr -d '[/ ]' | sed 's/\..*//'`
  39.         MACHDEP="$ac_md_system$ac_md_release"
  40.     fi
  41.     case MACHDEP in
  42.     '')    MACHDEP=unknown;;
  43.     esac
  44. fi
  45. AC_MSG_RESULT($MACHDEP)
  46.  
  47. # Default defines -- some systems may need special handling here
  48.  
  49. case $ac_sys_system/$ac_sys_release in
  50.     cyg*|CYG*) DEFINES="-U_WIN32 -UWIN32 -U__WIN32__ -U_Windows";;
  51.     *)    DEFINES="";;
  52. esac
  53.  
  54. # ---------- Checks for programs.
  55.  
  56. AC_PROG_CC
  57. AC_PROG_CPP
  58. AC_PROG_INSTALL
  59. AC_PROG_RANLIB
  60.  
  61. # ---------- deselect C++ option
  62. WITH_CXX="yes"
  63. AC_ARG_WITH(cxx,[  --without-cxx               Disable C++ test program],
  64.     [WITH_CXX="no"],
  65.     [WITH_CXX="yes"])
  66.  
  67. if test "$WITH_CXX" = "yes"; then
  68.     AC_PROG_CXX
  69.     AC_SUBST(CXX)
  70. fi
  71.  
  72. # common stuff, unlikely to be changed
  73. SHELL="/bin/sh"
  74.  
  75. # EXE must include the dot if used
  76. case $ac_sys_system/$ac_sys_release in
  77.     cyg*|CYG*) EXE=".exe";;
  78.     *)    EXE="";;
  79. esac
  80.  
  81. # OBJ must _not_ include the dot
  82. OBJ="o"
  83. AR="ar rc"
  84. RM="rm -f"
  85.  
  86. AC_SUBST(SHELL)
  87. AC_SUBST(EXE)
  88. AC_SUBST(OBJ)
  89. AC_SUBST(AR)
  90. AC_SUBST(VERSION)
  91. AC_SUBST(CC)
  92. AC_SUBST(RM)
  93.  
  94. # ---------- Checks for libraries.
  95.  
  96. # This borrowed from the Python configuration file
  97. # Set info about shared libraries.
  98.  
  99. AC_SUBST(SO)
  100. AC_SUBST(LDSHARED)
  101. AC_SUBST(CCSHARED)
  102. AC_SUBST(LINKFORSHARED)
  103.  
  104. # SO is the extension of shared libraries `(including the dot!)
  105. # -- usually .so, .sl on HP-UX
  106.  
  107. AC_MSG_CHECKING(SO)
  108. if test -z "$SO"
  109. then
  110.     case $ac_sys_system/$ac_sys_release in
  111.     hp*|HP*) SO=.sl;;
  112.     NeXT/3*|next/3*) SO=.a;; # no shared libs on NeXT 3.3 and less
  113.     cyg*|CYG*) SO=.dll;;
  114.     *)    SO=.so;;
  115.     esac
  116. fi
  117. AC_MSG_RESULT($SO)
  118. # LDSHARED is the ld *command* used to create shared library
  119. # -- "ld" on SunOS 4.x.x, "ld -G" on SunOS 5.x, "ld -shared" on IRIX 5
  120. AC_MSG_CHECKING(LDSHARED)
  121. if test -z "$LDSHARED"
  122. then
  123.     case $ac_sys_system/$ac_sys_release in
  124.     AIX*) LDSHARED="ld_so_aix";;
  125.     IRIX*) LDSHARED="ld -shared";;
  126.     SunOS/4*) LDSHARED="ld";;
  127.     SunOS/5*) LDSHARED="ld -G";;
  128.     hp*|HP*) LDSHARED="ld -b";;
  129.     OSF*) LDSHARED="ld -shared -expect_unresolved \"*\"";;
  130.     DYNIX/ptx*) LDSHARED="ld -G";;
  131.     Linux*) LDSHARED="gcc -shared";;
  132.     FreeBSD*) LDSHARED="ld -Bshareable";;
  133.     NetBSD*) LDSHARED="ld -Bshareable -Bdynamic -x";;
  134.     NeXT|next/3*) LDSHARED="ld -u libsys_s";;
  135.     NeXT|next/4*) LDSHARED="cc -nostdlib -r ";;
  136.     SCO_SV*) LDSHARED="ld -G";;
  137.     cyg*|CYG*) LDSHARED="dllwrap --export-all --driver-name gcc --output-def libpdf$VERSION.def --implib libpdf$VERSION.a ";;
  138.     *)    LDSHARED="ld";;
  139.     esac
  140. fi
  141. AC_MSG_RESULT($LDSHARED)
  142.  
  143. # CCSHARED are the C *flags* used to create objects to go into a shared
  144. # library -- this is only needed for a few systems
  145. AC_MSG_CHECKING(CCSHARED)
  146. if test -z "$CCSHARED"
  147. then
  148.     case $ac_sys_system in
  149.     hp*|HP*) if test "$GCC" = yes;
  150.          then CCSHARED="-fpic";
  151.          else CCSHARED="+z";
  152.          fi;;
  153.     Linux*) CCSHARED="-fpic";;
  154.     SCO_SV*) CCSHARED="-Kpic -belf";;
  155.     FreeBSD*) CCSHARED="-fpic";;
  156.     NetBSD*) CCSHARED="-fpic";;
  157.     cyg*|CYG*) CCSHARED="-DBUILDING_DLL=1";;
  158.     esac
  159. fi
  160. AC_MSG_RESULT($CCSHARED)
  161.  
  162. # ---------- select debugging configuration
  163. WITH_DEBUG="no"
  164. AC_ARG_WITH(debug,[  --with-debug                Enable debugging configuration (implies static)],[WITH_DEBUG="yes"], [WITH_DEBUG="no"])
  165.  
  166. # ---------- select static library (shared is default for most systems)
  167. # Filter systems which don't support shared libraries
  168. case $ac_sys_system/$ac_sys_release in
  169.     NeXT|next/3*) WITH_STATIC="no";;
  170.     *)    WITH_STATIC="yes";;
  171. esac
  172.  
  173. AC_ARG_WITH(static,[  --with-static               Enable building the static library],[WITH_STATIC="yes"], [WITH_STATIC="no"])
  174.  
  175. # LINKFORSHARED are the flags passed to the $(CC) command that links
  176. # the executables -- this is only needed for a few systems
  177.  
  178. AC_MSG_CHECKING(LINKFORSHARED)
  179. if test -z "$LINKFORSHARED"
  180. then
  181.     case $ac_sys_system/$ac_sys_release in
  182.     AIX*)    LINKFORSHARED='-Wl,-bE:$(srcdir)/python.exp -lld';;
  183.     hp*|HP*)
  184.         LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";;
  185.     Linux*) LINKFORSHARED="-Xlinker -export-dynamic";;
  186.     next/3*) LINKFORSHARED="-u libsys_s";;
  187.     SCO_SV*) LINKFORSHARED="-Bdynamic -dy -Wl,-Bexport";;
  188.     IRIX*/6*) LINKFORSHARED="-all";;
  189.     esac
  190. fi
  191. AC_MSG_RESULT($LINKFORSHARED)
  192.  
  193. # ---------- Checks for header files.
  194.  
  195. # The following tests for Tcl, Python, and Perl are taken from
  196. # the SWIG configure.in file, which in turns borrows some tests
  197. # from the Python configuration.
  198.  
  199. echo ""
  200. echo "Checking for installed languages."
  201. echo "Note: none of the following packages are required to build PDFlib"
  202. echo ""
  203.  
  204. #--------------------------------------------------------------------
  205. #    Take care of C++
  206. #--------------------------------------------------------------------
  207.  
  208. # Filter out systems where we don't build the C++ binding
  209. # Quote Detlev Droege: "C++ doesn't work with a real object-oriented
  210. # system such as NeXTStep"
  211.  
  212. case $ac_sys_system/$ac_sys_release in
  213.     NeXT|next/3*) WITH_CXX="no";;
  214.     NeXT|next/4*) WITH_CXX="no";;
  215.     *)    WITH_CXX="yes";;
  216. esac
  217.  
  218. #--------------------------------------------------------------------
  219. #    Try to locate the Java Developers Kit for JNI
  220. #--------------------------------------------------------------------
  221.  
  222. JAVAINCLUDE=nope
  223.  
  224. AC_ARG_WITH(java,[  --with-java=path            Set location of Java Developers Kit],[
  225.     JAVAPACKAGE="$withval"], [JAVAPACKAGE=nope])
  226.  
  227. if test "$JAVAINCLUDE" = nope; then
  228.    if test "$JAVAPACKAGE" != nope; then
  229.     JAVAINCLUDE="-I$JAVAPACKAGE/include"
  230.    fi
  231. fi
  232.  
  233. AC_MSG_CHECKING(for Java header files)
  234. if test "$JAVAINCLUDE" = nope; then
  235. AC_TRY_CPP([#include <jni.h>], , JAVAINCLUDE="nope")
  236. if test "$JAVAINCLUDE" = nope; then
  237.     dirs="$prefix /usr/lib/java /usr/java /usr/local/java /usr/lib/jdk1.2.1 /usr/lib/jdk1.1.8 /usr/lib/jdk1.1.7 /usr/lib/jdk1.1.6 /usr/lib/jdk1.1.5 /usr/lib/jdk1.1.4 /usr/lib/jdk1.1.3 /usr/local/jdk1.1.2 /usr/local/jdk1.1.1 /usr /opt/local"
  238.     for i in $dirs ; do
  239.         if test -r $i/include/jni.h; then
  240.             AC_MSG_RESULT($i/include)
  241.             JAVAINCLUDE="-I$i/include"
  242.             break
  243.         fi
  244.     done
  245. fi
  246. if test "$JAVAINCLUDE" = nope; then
  247.     JAVAINCLUDE="-I/usr/local/include"
  248.         AC_MSG_RESULT(not found)
  249. else
  250.     WITH_JAVA="yes"
  251.     if test -r $JAVAINCLUDE/$MACHDEP/jni_md.h; then
  252.         JAVAINCLUDE="$JAVAINCLUDE $JAVAINCLUDE/$MACHDEP"
  253.     else
  254.         JAVAINCLUDE="$JAVAINCLUDE $JAVAINCLUDE/genunix"
  255.     fi
  256. fi
  257. else
  258.         AC_MSG_RESULT($JAVAINCLUDE)
  259. fi
  260.  
  261. AC_SUBST(JAVAINCLUDE)
  262.  
  263. #--------------------------------------------------------------------
  264. #    Try to locate the Tcl package
  265. #--------------------------------------------------------------------
  266.  
  267. TCLINCLUDE=nope
  268. TCLPACKAGEDIR=nope
  269. TCLBIN=nope
  270.  
  271. AC_ARG_WITH(tcl,[  --with-tcl=path             Set location of Tcl executable],[TCLBIN="$withval"],[TCLBIN=nope])
  272.  
  273. AC_ARG_WITH(tclpkg,[  --with-tclpkg=path          Set location of Tcl package install directory],[TCLPACKAGEDIR="$withval"],[TCLPACKAGEDIR=nope])
  274.  
  275. AC_ARG_WITH(tclincl,[  --with-tclincl=path         Set location of Tcl include directory],[TCLINCLUDE="-I$withval"],[TCLINCLUDE=nope])
  276.  
  277. AC_MSG_CHECKING(for Tcl header files)
  278. if test "$TCLINCLUDE" = nope; then
  279. AC_TRY_CPP([#include <tcl.h>], , TCLINCLUDE="nope")
  280. if test "$TCLINCLUDE" = nope; then
  281.     dirs="$prefix/include /usr/local/include /usr/include /opt/local/include /home/sci/local/include /usr/pkg/include"
  282.     for i in $dirs ; do
  283.         if test -r $i/tcl.h; then
  284.             AC_MSG_RESULT($i)
  285.             TCLINCLUDE="-I$i"
  286.             break
  287.         fi
  288.     done
  289. fi
  290. if test "$TCLINCLUDE" = nope; then
  291.     TCLINCLUDE="-I/usr/local/include"
  292.         AC_MSG_RESULT(not found)
  293. else
  294.     WITH_TCL="yes"
  295. fi
  296. else
  297.         AC_MSG_RESULT($TCLINCLUDE)
  298. fi
  299.  
  300. if test "$TCLPACKAGEDIR" = nope; then
  301.     # Package support started in tcl 7.5
  302.     if test "$TCLBIN" = nope; then
  303.     AC_CHECK_PROGS(TCL, tclsh8.1 tclsh8.0 tclsh7.6 tclsh7.5 tclsh,nope)
  304.     TCLBIN=$TCL
  305.     fi
  306.  
  307.     
  308.     if test "$TCLBIN" != nope; then
  309.     # Check the installed Tcl version -- must be 7.5 or higher
  310.     TCLVERSION=`echo "puts [[info tclversion]]" | $TCLBIN`
  311.     if test "$TCLVERSION" = "7.4" -o "$TCLVERSION" = "7.3" -o "$TCLVERSION" = "7.2" -o "$TCLVERSION" = "7.1" -o "$TCLVERSION" = "7.0"; then
  312.         echo "-------- This Tcl version doesn't support loadable packages." 
  313.         echo "-------- PDFlib support for Tcl will not be built."
  314.         WITH_TCL=nope
  315.     else
  316.     
  317.         # Let tcl decide where to install the package
  318.         TCLPACKAGEDIR=`(echo "puts \\$auto_path" | $TCLBIN | awk '{print $1}') 2>/dev/null`
  319.     fi
  320.     fi
  321.     if test "$WITH_TCL" != nope; then
  322.     if test "$TCLPACKAGEDIR" = nope -o -z "$TCLPACKAGEDIR" -o ! -d "$TCLPACKAGEDIR"; then
  323.         AC_MSG_RESULT(unable to determine Tcl package directory)
  324.         TCLPACKAGEDIR=/usr/lib/tcl
  325.     fi
  326.     fi
  327. fi
  328.  
  329. TCLPACKAGEDIR=$TCLPACKAGEDIR/pdflib
  330.  
  331. AC_SUBST(TCLINCLUDE)
  332. AC_SUBST(TCLPACKAGEDIR)
  333. AC_SUBST(TCLBIN)
  334.  
  335. #----------------------------------------------------------------
  336. # Look for Python
  337. #----------------------------------------------------------------
  338.  
  339. PYINCLUDE=nope
  340. PYPACKAGE=nope
  341.  
  342. AC_ARG_WITH(py,[  --with-py=path              Set location of Python root directory],[
  343.     PYPACKAGE="$withval"], [PYPACKAGE=nope])
  344. AC_ARG_WITH(pyincl,[  --with-pyincl=path          Set location of Python include directory],[
  345.     PYINCLUDE="$withval"], [PYINCLUDE=nope])
  346.  
  347. if test "$PYINCLUDE" = nope; then
  348.    if test "$PYPACKAGE" != nope; then
  349.     PYINCLUDE="$PYPACKAGE/include"
  350.    fi
  351. fi
  352.  
  353. AC_MSG_CHECKING(for Python header files)
  354.  
  355. dirs="$PYINCLUDE $PYINCLUDE/python1.5 $PYINCLUDE/python1.4 $PYINCLUDE/Py $prefix/include/python1.5 $prefix/include/python1.4 /usr/local/include/python1.5 /usr/include/python1.5 /usr/local/include/python1.4 /usr/include/python1.4 $prefix/include/Py /usr/local/include/Py /usr/include/Py /usr/pkg/include"
  356. for i in $dirs ; do
  357.     if test -r $i/Python.h; then
  358.         AC_MSG_RESULT($i)
  359.         PYINCLUDE="-I$i"
  360.         break
  361.     fi
  362. done
  363. if test "$PYINCLUDE" = nope; then
  364.     PYINCLUDE="-I/usr/local/include/Py"
  365.         AC_MSG_RESULT(not found)
  366. else
  367.     WITH_PYTHON=yes
  368. fi
  369.  
  370. AC_SUBST(PYINCLUDE)
  371.  
  372. #----------------------------------------------------------------
  373. # Look for Perl5
  374. #----------------------------------------------------------------
  375.  
  376. PERLBIN=nope
  377. PERLINCLUDE=nope
  378.  
  379. AC_ARG_WITH(perl5,[  --with-perl5=path           Set location of Perl5 executable],[PERLBIN="$withval"],[PERLBIN=nope])
  380. AC_ARG_WITH(perlincl,[  --with-perlincl=path        Set location of Perl include directory],[PERLINCLUDE="-I$withval"],[PERLINCLUDE=nope])
  381.  
  382. # First figure out what the name of Perl5 is
  383.  
  384. if test "$PERLBIN" = nope; then
  385. AC_CHECK_PROGS(PERL, perl perl5.005 perl5.004 perl5.003 perl5.002 perl5.001 perl5,nope)
  386. else
  387. PERL="$PERLBIN"
  388. fi
  389. AC_MSG_CHECKING(for Perl5 files)
  390. if test "$PERL" != nope; then
  391.     PERL5DIR=`($PERL -e 'use Config; print $Config{archlib};') 2>/dev/null`
  392.     if test "$PERL5DIR" != ""; then
  393.         if test "$PERLINCLUDE" = nope; then
  394.             dirs="$PERL5DIR $PERL5DIR/CORE"
  395.             for i in $dirs; do
  396.                 if test -r $i/perl.h; then
  397.                     AC_MSG_RESULT($i)
  398.                     PERLINCLUDE="-I$i"
  399.                     break;
  400.                 fi
  401.             done    
  402.         else
  403.             AC_MSG_RESULT($PERLINCLUDE)
  404.         fi
  405.         if test "$PERLINCLUDE" = nope; then
  406.             PERLINCLUDE="-I$PERL5DIR/CORE"
  407.             AC_MSG_RESULT(could not locate perl.h...using $PERLINCLUDE)
  408.         else
  409.             WITH_PERL=yes
  410.         fi    
  411.     else
  412.         AC_MSG_RESULT(unable to determine perl5 configuration)
  413.         PERLINCLUDE="-I$PERL5DIR"
  414.     fi
  415.     PERLLIBDIR=`($PERL -e 'use Config; print $Config{sitearchexp};') 2>/dev/null`
  416.     if test -z "$PERLLIBDIR" -o ! -d "$PERLLIBDIR"; then
  417.         AC_MSG_RESULT(unable to determine perl5 shared library directory)
  418.         PERLIB="/usr/lib/perl5/site_perl/5.005/archname"
  419.     fi
  420.     PERLMODDIR=`($PERL -e 'use Config; print $Config{sitelib};') 2>/dev/null`
  421.     if test -z "$PERLMODDIR" -o ! -d "$PERLMODDIR"; then
  422.         AC_MSG_RESULT(unable to determine perl5 module directory)
  423.         PERLMODDIR="/usr/lib/perl5/site_perl/5.005"
  424.     fi
  425.     else
  426.            AC_MSG_RESULT(could not figure out how to run perl5)
  427.     PERLINCLUDE="-I/usr/local/lib/perl/archname/5.005/CORE"
  428.     fi
  429.  
  430. # The Perl include files contain special handling for the bool type
  431. # on NeXT (sigh). We'll run into trouble if we don't work around this.
  432.  
  433. case $ac_sys_system in
  434.     NeXT|next) PERLBOOLDEF="";;
  435.     *)    PERLBOOLDEF="-Dbool=char -DHAS_BOOL";;
  436. esac
  437.  
  438. # Cygwin seems to ask for linking the perl library directly.
  439. # We use $PERLINCLUDE for this since it both contains the Perl library
  440. # _and_ the include files. Other systems don't explicitly link the
  441. # Perl library, so we keep PERLLINK empty.
  442.  
  443. case $ac_sys_system/$ac_sys_release in
  444.     cyg*|CYG*) PERLLINK="-L$PERLINCLUDE -lperl";;
  445.     *)    PERLLINK="";;
  446. esac
  447.  
  448. AC_SUBST(PERLINCLUDE)
  449. AC_SUBST(PERLLIBDIR)
  450. AC_SUBST(PERLMODDIR)
  451. AC_SUBST(PERLBOOLDEF)
  452. AC_SUBST(PERLLINK)
  453.  
  454. #----------------------------------------------------------------
  455. # Look for TIFFlib
  456. #----------------------------------------------------------------
  457. TIFFINC=nope
  458. TIFFLIB=nope
  459. TIFFLINK=nope
  460. TIFF=nope
  461.  
  462. AC_ARG_WITH(tiff,[  --with-tiff=path            Set location of TIFF root directory],[TIFF="$withval"], [TIFF=nope])
  463. AC_ARG_WITH(tiffincl,[  --with-tiffincl=path        Set location of TIFF include directory],[TIFFINC="$withval"], [TIFFINC=nope])
  464. AC_ARG_WITH(tifflib,[  --with-tifflib=path         Set location of TIFF library directory],[TIFFLIB="$withval"], [TIFFLIB=nope])
  465.  
  466. AC_MSG_CHECKING(for TIFF header files)
  467.  
  468. dirs="$TIFFINC $TIFF/include /usr/include $prefix/tiff/include $prefix/tiff34/include /usr/local/include/tiff34 /usr/local/include/tiff /usr/include/tiff34 /usr/include/tiff /opt/tiff/include /opt/tiff34/include /usr/local/include /opt/include /opt/include/tiff /opt/include/tiff34 /usr/pkg/include"
  469. for i in $dirs ; do
  470.     if test -r $i/tiff.h; then
  471.         AC_MSG_RESULT($i)
  472.         TIFFINC="-I$i"
  473.         break
  474.     fi
  475. done
  476. if test "$TIFFINC" = nope; then
  477.     TIFFINC=""
  478.         AC_MSG_RESULT(not found)
  479. fi
  480.  
  481. AC_MSG_CHECKING(for TIFF library)
  482. dirs="$TIFFLIB $TIFFLIB/lib /usr/lib $prefix/tiff/lib $prefix/tiff34/lib /usr/local/lib/tiff34 /usr/local/lib/tiff /usr/lib/tiff /usr/lib/tiff34 /opt/tiff/lib /opt/tiff34/lib /usr/local/lib /opt/lib /opt/lib/tiff /opt/lib/tiff34 /usr/pkg/lib"
  483.  
  484. for i in $dirs ; do
  485.     if test -r $i/libtiff.so; then
  486.         AC_MSG_RESULT($i)
  487.         TIFFLIB="$i"
  488.         TIFFLINK="-L$i -ltiff"
  489.         DEFINES="$DEFINES -DHAVE_LIBTIFF"
  490.         break
  491.     elif test -r $i/libtiff34.so; then
  492.         AC_MSG_RESULT($i)
  493.         TIFFLIB="$i"
  494.         TIFFLINK="-L$i -ltiff34"
  495.         DEFINES="$DEFINES -DHAVE_LIBTIFF"
  496.         break
  497.     elif test -r $i/libtiff.a; then
  498.         AC_MSG_RESULT($i)
  499.         TIFFLIB="$i"
  500.         TIFFLINK="-L$i -ltiff"
  501.         DEFINES="$DEFINES -DHAVE_LIBTIFF"
  502.         break
  503.     elif test -r $i/libtiff34.a; then
  504.         AC_MSG_RESULT($i)
  505.         TIFFLIB="$i"
  506.         TIFFLINK="-L$i -ltiff34"
  507.         DEFINES="$DEFINES -DHAVE_LIBTIFF"
  508.         break
  509.     fi
  510. done
  511. if test "$TIFFLIB" = nope; then
  512.     AC_MSG_RESULT(not found)
  513.     TIFFLIB=""
  514.     TIFFINC=""
  515. fi
  516.  
  517. AC_SUBST(TIFFINC)
  518. AC_SUBST(TIFFLINK)
  519.  
  520. #----------------------------------------------------------------
  521. # Look for JPEG library -- needed for TIFFlib only
  522. #----------------------------------------------------------------
  523.  
  524. JPEGLIB=nope
  525. JPEGLINK=nope
  526. JPEG=nope
  527.  
  528. AC_ARG_WITH(jpeg,[  --with-jpeg=path            Set location of JPEG source directory],[JPEG="$withval"], [JPEG=nope])
  529. AC_ARG_WITH(jpeglib,[  --with-jpeglib=path         Set location of JPEG library directory],[JPEGLIB="$withval"], [JPEGLIB=nope])
  530.  
  531. AC_MSG_CHECKING(for JPEG library)
  532. dirs="$JPEGLIB $JPEGLIB/lib /usr/lib $prefix/jpeg/lib /usr/local/lib/jpeg /usr/lib/jpeg /opt/jpeg/lib /usr/local/lib /opt/lib /opt/lib/jpeg /usr/pkg/lib"
  533.  
  534. for i in $dirs ; do
  535.     if test -r $i/libjpeg.so; then
  536.         AC_MSG_RESULT($i)
  537.         JPEGLINK="-L$i -ljpeg"
  538.         break
  539.     elif test -r $i/libjpeg.a; then
  540.         AC_MSG_RESULT($i)
  541.         JPEGLINK="-L$i -ljpeg"
  542.         break
  543.     fi
  544. done
  545.  
  546. if test "$JPEGLINK" = nope; then
  547.     AC_MSG_RESULT(not found)
  548.     JPEGLINK=""
  549. fi
  550.  
  551. # We don't use the JPEG library directly but only need it for TIFFlib
  552. if test "$TIFFLINK" != "nope"; then
  553.     TIFFLINK="$TIFFLINK $JPEGLINK"
  554. fi
  555.  
  556. #----------------------------------------------------------------
  557. # Look for zlib
  558. #----------------------------------------------------------------
  559.  
  560. ZLIBINC=nope
  561. ZLIBLIB=nope
  562. ZLIBLINK=nope
  563. AC_ARG_WITH(zlib,[  --with-zlib=path            Set location of ZLIB source directory],[
  564.     ZLIB="$withval"], [ZLIB=nope])
  565. AC_ARG_WITH(zlibincl,[  --with-zlibincl=path        Set location of ZLIB include directory],[
  566.     ZLIBINC="$withval"], [ZLIBINC=nope])
  567. AC_ARG_WITH(zliblib,[  --with-zliblib=path         Set location of ZLIB library directory],[
  568.     ZLIBLIB="$withval"], [ZLIBLIB=nope])
  569.  
  570. AC_MSG_CHECKING(for ZLIB header files)
  571.  
  572. dirs="$ZLIBINC $ZLIB/include $prefix/zlib/include /usr/local/include/zlib /usr/include/zlib /opt/zlib/include /usr/local/include /opt/include /opt/include/zlib /usr/include"
  573. for i in $dirs ; do
  574.     if test -r $i/zlib.h; then
  575.         AC_MSG_RESULT($i)
  576.         ZLIBINC="-I$i"
  577.         break
  578.     fi
  579. done
  580. if test "$ZLIBINC" = nope; then
  581.     ZLIBINC="-I/usr/local/include/zlib"
  582.         AC_MSG_RESULT(not found)
  583. fi
  584.  
  585. AC_MSG_CHECKING(for ZLIB library)
  586. dirs="$ZLIBLIB $ZLIBLIB/lib /usr/lib $prefix/zlib/lib /usr/local/lib/zlib /usr/lib/zlib /opt/zlib/lib /usr/local/lib /opt/lib /opt/lib/zlib"
  587.  
  588. for i in $dirs ; do
  589.     if test -r $i/libz.so; then
  590.         AC_MSG_RESULT($i)
  591.         ZLIBLIB="$i"
  592.         ZLIBLINK="-L$i -lz"
  593.         DEFINES="$DEFINES -DHAVE_LIBZ"
  594.         break
  595.     elif test -r $i/libgz.so; then
  596.         AC_MSG_RESULT($i)
  597.         ZLIBLIB="$i"
  598.         ZLIBLINK="-L$i -lgz"
  599.         DEFINES="$DEFINES -DHAVE_LIBZ"
  600.         break
  601.     elif test -r $i/libz.a; then
  602.         AC_MSG_RESULT($i)
  603.         ZLIBLIB="$i"
  604.         ZLIBLINK="-L$i -lz"
  605.         DEFINES="$DEFINES -DHAVE_LIBZ"
  606.         break
  607.     elif test -r $i/libgz.a; then
  608.         AC_MSG_RESULT($i)
  609.         ZLIBLIB="$i"
  610.         ZLIBLINK="-L$i -lgz"
  611.         DEFINES="$DEFINES -DHAVE_LIBZ"
  612.         break
  613.     fi
  614. done
  615. if test "$ZLIBLIB" = nope; then
  616.     AC_MSG_RESULT(not found)
  617.     ZLIBLIB="/usr/local/lib/"
  618. fi
  619.  
  620. # Avoid duplicate include directories
  621. if test "$ZLIBINC" = "$TIFFINC"; then
  622.     ZLIBINC=""
  623. fi
  624.  
  625. AC_SUBST(ZLIBINC)
  626. AC_SUBST(ZLIBLINK)
  627.  
  628. # These are used to tell the Makefile what to actually do,
  629. # depending on the available language bindings.
  630.  
  631. BINDINGS="pdflib_c"
  632. BINDINGS_INSTALL="pdflib_c_install"
  633. BINDINGS_UNINSTALL="pdflib_c_uninstall"
  634. BINDINGS_TEST="pdflib_c_test"
  635.  
  636. if test "$WITH_CXX" = "yes" ; then
  637.     BINDINGS="$BINDINGS pdflib_cpp";
  638.     BINDINGS_INSTALL="$BINDINGS_INSTALL pdflib_cpp_install";
  639.     BINDINGS_UNINSTALL="$BINDINGS_UNINSTALL pdflib_cpp_uninstall";
  640.     BINDINGS_TEST="$BINDINGS_TEST pdflib_cpp_test";
  641. fi
  642. if test "$WITH_JAVA" = "yes" ; then
  643.     BINDINGS="$BINDINGS pdflib_java";
  644.     BINDINGS_INSTALL="$BINDINGS_INSTALL pdflib_java_install";
  645.     BINDINGS_UNINSTALL="$BINDINGS_UNINSTALL pdflib_java_uninstall";
  646.     BINDINGS_TEST="$BINDINGS_TEST pdflib_java_test";
  647. fi
  648. if test "$WITH_PERL" = "yes" ; then
  649.     BINDINGS="$BINDINGS pdflib_perl";
  650.     BINDINGS_INSTALL="$BINDINGS_INSTALL pdflib_perl_install";
  651.     BINDINGS_UNINSTALL="$BINDINGS_UNINSTALL pdflib_perl_uninstall";
  652.     BINDINGS_TEST="$BINDINGS_TEST pdflib_perl_test";
  653. fi
  654. if test "$WITH_PYTHON" = "yes" ; then
  655.     BINDINGS="$BINDINGS pdflib_python";
  656.     BINDINGS_INSTALL="$BINDINGS_INSTALL pdflib_python_install";
  657.     BINDINGS_UNINSTALL="$BINDINGS_UNINSTALL pdflib_python_uninstall";
  658.     BINDINGS_TEST="$BINDINGS_TEST pdflib_python_test";
  659. fi
  660. if test "$WITH_TCL" = "yes" ; then
  661.     BINDINGS="$BINDINGS pdflib_tcl";
  662.     BINDINGS_INSTALL="$BINDINGS_INSTALL pdflib_tcl_install";
  663.     BINDINGS_UNINSTALL="$BINDINGS_UNINSTALL pdflib_tcl_uninstall";
  664.     BINDINGS_TEST="$BINDINGS_TEST pdflib_tcl_test";
  665. fi
  666.  
  667. DEFINES="$CFLAGS $DEFINES"
  668.  
  669. if test "$WITH_DEBUG" = "yes" ; then
  670.     DEFINES="$DEFINES -DDEBUG"
  671.     WITH_STATIC="yes"
  672. fi
  673.  
  674. PDFLIB_STATIC=libpdf$VERSION.a
  675.  
  676. case $ac_sys_system in
  677.     NetBSD*) PDFLIB_SHARED=libpdf$SO.$VERSION;;
  678.     *)    PDFLIB_SHARED=libpdf$VERSION$SO;;
  679. esac
  680.  
  681. # $PDFLIB is the name of the PDFlib library file, either static or shared
  682.  
  683. if test "$WITH_STATIC" = "yes" ; then
  684.     # no language bindings without shared libraries
  685.     BINDINGS=""
  686.     BINDINGS_INSTALL=""
  687.     BINDINGS_UNINSTALL=""
  688.     BINDINGS_TEST=""
  689.     CCSHARED=""
  690.     PDFLIB=$PDFLIB_STATIC
  691. else
  692.     PDFLIB=$PDFLIB_SHARED
  693. fi
  694.  
  695. AC_SUBST(BINDINGS)
  696. AC_SUBST(BINDINGS_INSTALL)
  697. AC_SUBST(BINDINGS_UNINSTALL)
  698. AC_SUBST(BINDINGS_TEST)
  699.  
  700. # avoid garbage in our linkage variable $PDFLIBLINK
  701. if test "$TIFFLINK" = nope; then
  702.        TIFFLINK=""
  703. fi
  704. if test "$ZLIBLINK" = nope; then
  705.        ZLIBLINK=""
  706. fi
  707.  
  708. # PDFLIBLINK contains the flags needed to link a program against PDFlib.
  709. # This must work with the shared as well as the dynamic version.
  710.  
  711. case $ac_sys_system in
  712.     NetBSD*) PDFLIBLINK="-lpdf $TIFFLINK $ZLIBLINK -lm";;
  713.     *) PDFLIBLINK="-lpdf$VERSION $TIFFLINK $ZLIBLINK -lm";;
  714. esac
  715.  
  716. AC_SUBST(PDFLIB)
  717. AC_SUBST(PDFLIB_STATIC)
  718. AC_SUBST(PDFLIB_SHARED)
  719. AC_SUBST(PDFLIBLINK)
  720. AC_SUBST(DEFINES)
  721.  
  722. # ---------- Generate the Makefiles
  723.  
  724. AC_OUTPUT(
  725. bind/c/Makefile
  726. bind/cpp/Makefile
  727. bind/java/Makefile
  728. bind/perl/Makefile
  729. bind/perl/Makefile.PL
  730. bind/python/Makefile
  731. bind/tcl/Makefile
  732. clients/Makefile
  733. pdflib/Makefile
  734. test/Makefile
  735. util/Makefile
  736. Makefile
  737. )
  738.